/*
 * Enemy.h
 *
 *  Created on: Jan 4, 2009
 *      Author: Carmine Red
 */

#ifndef ENEMY_H_
#define ENEMY_H_

#include "Prismatic.h"
class Prismatic;

#include "enum.h"
#include "Defines.h"

class Enemy
{
private:
	int id;		// identification number

	int health;

	int dir;
	float speed;

	//textures we need
	IDirect3DTexture9* m_ESprite;
	D3DXVECTOR3 m_EPos;
public:
	Enemy();
	~Enemy();
	void cleanUp();

	void setID(int value)	{id = value;}
	int getID() {return id;}

	void setxPos(float value)	{m_EPos.x = value;}
	float getxPos() {return m_EPos.x;}
	void setyPos(float value)	{m_EPos.y = value;}
	float getyPos() {return m_EPos.y;}

	void setHealth(int value) {health = value;}
	int getHealth() {return health;}

	void applyDamage(int damage) {health += damage;}

	void setDir(int value) {dir = value;}
	int getDir() {return dir;}
	void setSpeed(float value) {speed = value;}
	float getSpeed() {return speed;}

	void moveEnemy();	// this moves the enemy
	void checkTile(float xUse, float yUse, int tileDir);
									// this updates the enemy based on the tile data passed

	void render(Prismatic* game);
};

#endif /* ENEMY_H_ */
